package com.xbongbong.saas.enums;

import com.xbongbong.i18n.util.I18nMessageUtil;
import lombok.Getter;

/**
 * @author guohui.zhang
 * @Title: 镜像回退类型
 * @date 2020/3/2710:54
 */
@Getter
public enum MirrorRollBackTypeEnum {
    /**
     * 不允许回退
     */
    NO_ROLL_BACK("enum.mirrorRollBackType.no_roll_back",0),
    /**
     * 回退到初始化
     */
    ROLL_BACK_TO_INIT("enum.mirrorRollBackType.roll_back_to_init",1),
    /**
     * 未回退到初始化
     */
    NO_ROLL_BACK_TO_INIT("enum.mirrorRollBackType.no_roll_back_to_init",2),
    /**
     * 回退到上一版本
     */
    ROLL_BACK_TO_PREVIOUS("enum.mirrorRollBackType.roll_back_to_previous",1),
    /**
     * 未回退到上一版本
     */
    NO_ROLL_BACK_TO_PREVIOUS("enum.mirrorRollBackType.no_roll_back_to_previous",2),

    /**
     * 标识表单镜像是否可以回退，1 可操作回退 2 不可操作回退
     * 注：当同一个应用安装多个镜像时，只有最新的那个镜像才可以回退
     */
    OPERATE_BACK("enum.mirrorRollBackType.operate_back", 1),

    NO_OPERATE_BACK("enum.mirrorRollBackType.no_operate_back", 2),

    /**
     * 系统镜像不支持回退操作
     */
    NO_OPERATE_BACK_FOR_SYSTEM_APP("enum.mirrorRollBackType.no_operate_back_for_system_app", 3),

    ;
    /**
     * 回退类型
     */
   private String rollBackType;
    /**
     * 是否回退(0 不允许回退,1,回退 2 未回退)
     */
    private Integer flag;


    MirrorRollBackTypeEnum(String rollBackType, Integer flag) {
        this.rollBackType = rollBackType;
        this.flag = flag;
    }

    public String getRollBackType() {
        return I18nMessageUtil.getMessage(rollBackType);
    }
}
